package com.newshub.business.entity;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 新闻实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class News {
    
    /**
     * 新闻ID，主键，自增
     */
    private Integer id;
    
    /**
     * 新闻标题
     */
    private String title;
    
    /**
     * 新闻摘要，简短描述新闻内容
     */
    private String summary;
    
    /**
     * 新闻正文内容
     */
    private String content;
    
    /**
     * 新闻发布时间
     */
    private LocalDateTime publishTime;

    /** 作者 */
    private String author;
    /** 字数 */
    private Integer wordCount;
    /** 浏览次数 */
    private Integer viewCount;
    /** 是否热点 */
    private Integer isHot;
    
    /**
     * 新闻分类ID，逻辑关联category表的id字段
     */
    private Integer categoryId;
    
    /**
     * 新闻分类名称，用于展示，如：经济、军事、政治
     */
    private String categoryName;
    
    /**
     * 新闻来源ID，逻辑关联source表的id字段
     */
    private Integer sourceId;
    
    /**
     * 新闻来源名称，用于展示，如：新华网、人民网
     */
    private String sourceName;
    
    /**
     * 新闻原始链接地址
     */
    private String url;
    
    /**
     * 新闻封面图片链接地址
     */
    private String imageUrl;
    
    /**
     * 新闻状态（1-正常，0-禁用）
     */
    private Integer status;
    
    /**
     * 新闻入库时间，记录数据创建时间
     */
    private LocalDateTime createdAt;
    
    /**
     * 新闻更新时间
     */
    private LocalDateTime updatedAt;
    
    // RSS和API抓取支持字段
    /**
     * 数据来源类型：manual-手动录入，rss-RSS抓取，api-API调用
     */
    private String sourceType;
    
    /**
     * RSS源ID（关联rss_feeds表）
     */
    private Long sourceFeedId;
    
    /**
     * 外部唯一标识（用于去重）
     */
    private String externalId;
    
    /**
     * 抓取时间
     */
    private LocalDateTime fetchTime;

}